package com.ruoyi.tag.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.circle.domain.CircleBasicInfo;
import com.ruoyi.tag.domain.TagsInfo;

/**
 * 标签管理Mapper接口
 * 
 * @author Amia
 * @date 2025-06-05
 */
    public interface TagsInfoMapper extends BaseMapper<TagsInfo>
{
    /**
     * 查询标签管理
     * 
     * @param id 标签管理主键
     * @return 标签管理
     */
    public TagsInfo selectTagsInfoById(Long id);

    /**
     * 查询标签管理列表
     * 
     * @param tagsInfo 标签管理
     * @return 标签管理集合
     */
    public List<TagsInfo> selectTagsInfoList(TagsInfo tagsInfo);

    /**
     * 新增标签管理
     * 
     * @param tagsInfo 标签管理
     * @return 结果
     */
    public int insertTagsInfo(TagsInfo tagsInfo);

    /**
     * 修改标签管理
     * 
     * @param tagsInfo 标签管理
     * @return 结果
     */
    public int updateTagsInfo(TagsInfo tagsInfo);

    /**
     * 删除标签管理
     * 
     * @param id 标签管理主键
     * @return 结果
     */
    public int deleteTagsInfoById(Long id);

    /**
     * 批量删除标签管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTagsInfoByIds(Long[] ids);

    /**
     * 根据标签ID数组查询标签信息列表
     *
     * @param ids 标签ID数组
     * @return 标签信息列表
     */
    public List<TagsInfo> selectTagsInfoByIds(Long[] ids);

    List<TagsInfo> getInfoByPostId(Long postId);

    List<TagsInfo> getInfoByCircleId(Long circleId);

    /**
     * 查询所有活跃的标签
     * @return 标签列表
     */
    List<TagsInfo> selectActiveTagsList();

    List<String> getTagCategory();

    List<TagsInfo> getAllTagsInfoList();
}
